<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>变量作用域</title>
  </head>

  <body>

  </body>
  <script>
    /* 
    1.变量作用域:变量能在哪个范围内被使用，这个范围就是变量作用域
    2.在JavaScript（ES5之前）中没有块级作用域的概念，
    3.但是函数可以定义自己的作用域。
    4.什么是全局变量和局部变量？
          定义在函数内部的变量，被称之为局部变量。
          定义在script标签中的变量，被称之为全局变量。
    5.在全局中默认是不能访问局部变量的
    5.在函数中，访问变量的顺序是什么呢？
         优先访问自己函数中的变量，没有找到时，在全局中访问      

    */
    //1.块没有自己的作用域
    var age = 18; {
      var name = "jason";
    }
    console.log(name, age);

    //2.只有函数才有作用域
    //优先访问自己函数中的变量，没有找到时，在全局中访问  
    function getName() {
      var name = "tom";
      var age = 20;
      console.log(age); //20
    }
  </script>

</html>